Dynamic Data Structures for Taskgraph Scheduling Policies with Applications in OpenCL Accelerators

نویسندگان

  • Jakub Mareček
  • Andrew J. Parkes
  • Edmund K. Burke
  • Anton Lokhmotov
چکیده

OpenCL is an emerging open framework for parallel programming in heterogenous systems. Devices compliant with OpenCL need to schedule the execution of submitted jobs with no (or only very imprecise) estimates of execution times, but respecting dependencies among them, which are given in the form of directed acyclic graph. This problem is known as stochastic taskgraph scheduling, stochastic scheduling with precedencies, or stochastic scheduling with data dependencies. We study the complexity of implementing static out-of-order policies for taksgraph scheduling, which approach optimality in the long run, under certain assumptions. We present a simple data structure allowing for the “what next” query of such scheduling policies to be answered in time O(1), while vertices can be added in time O(1).

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Extending OmpSs to support CUDA and OpenCL in C, C++ and Fortran Applications

CUDA and OpenCL are the most widely used programming models to exploit hardware accelerators. Both programming models provide a C-based programming language to write accelerator kernels and a host API used to glue the host and kernel parts. Although this model is a clear improvement over a low-level and ad-hoc programming model for each hardware accelerator, it is still too complex and cumberso...

متن کامل

Operating System Support for Fine-grained Pipeline Parallelism on Heterogeneous Multicore Accelerators

On-chip special-purpose accelerators are a promising technique in the achievement of high-performance and energy-efficient computing. In particular, fine-grained pipelined execution with multicore accelerators is suitable for streaming applications such as JPEG decoders, which consist of a series of different tasks and process streaming data. CPUs that assign each task to appropriate accelerato...

متن کامل

Toward OpenCL Automatic Multi-Device Support

To fully tap into the potential of today heterogeneous machines, offloading parts of an application on accelerators is no longer sufficient. The real challenge is to build systems where the application would permanently spread across the entire machine, that is, where parallel tasks would be dynamically scheduled over the full set of available processing units. In this paper we present SOCL, an...

متن کامل

A Balanced Programming Model for Emerging Heterogeneous Multicore Systems

Computer systems are moving towards a heterogeneous architecture with a combination of one or more CPUs and one or more accelerator processors. Such heterogeneous systems pose a new challenge to the parallel programming community. Languages such as OpenCL and CUDA provide a program environment for such systems. However, they focus on data parallel programming where the majority of computation i...

متن کامل

Efficient and portable multi-tasking for heterogeneous systems

Modern computing systems comprise heterogeneous designs which combine multiple and diverse architectures on a single system. These designs provide potentials for high performance under reduced power requirements but require advanced resource management and workload scheduling across the available processors. Programmability frameworks, such as OpenCL and CUDA, enable resource management and wor...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011